export interface Response {
  code: number;
  message: string;
}

export interface ErrorResponse {
  code: number;
  message: string;
}

export interface AppConfigResponseData {
  version: string;
  name: string;
  url: string;
  description: string;
  logo: string;
}

export interface CaptchaResponseData {
  captcha_id: string;
  captcha_data: string;
}

export interface LoginResponseData {
  ticket: string;
}

export interface ServiceValidateResponseData {
  expire: string;
  token: string;
  user: {
    name: string;
    email: string;
    image?: string;
    region?: string;
    role: number;
  };
}

export interface STResponseData {
  ticket: string;
}

export interface UserResponseData {
  id: string;
  email: string;
  name: string;
  first_name?: string;
  last_name?: string;
  verified_at?: string;
  image?: string;
  address?: string;
  region?: string;
  mobile?: string;
  role: number;
  created_at: string;
  updated_at?: string;
  deleted_at?: string;
  has_oauth: boolean;
  has_password: boolean;
}

export interface FileUploadResponseData {
  id: string;
}
